package pl.edu.pk.cc.client;

import javax.servlet.http.HttpSession;

import pl.edu.pk.cc.client.admin.CCAdminContent;
import pl.edu.pk.cc.client.chef.CCChefContent;
import pl.edu.pk.cc.client.worker.CCWorkerContent;

public class CCPage {

	private static int step;

	String DOCTYPE = "<!DOCTYPE html>";

	String poczatekHTML() {
		return DOCTYPE + "<html><head><title>Call Center Booster</title>" + "<link rel='stylesheet' href='style.css' type='text/css'>"
				+ "<meta http-equip='Content-Script-Type' content='text/javascript'>" + "<link rel='stylesheet' href='http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css' />" + "</head>";
	}

	String header(String naglowek, String username) {
		return "<body><div id='main'><div id='naglowek'>" + "<h1>" + naglowek + "</h1><div id='logged'><b>Zalogowany jako: <u>" + username + "</u></b></div></div><div id='nlt'><div id='leftbar'>";
	}

	String menu(String user) {
		String ret = "<div id='menu'>" + "<ul id = 'menu1'>";
		switch (user) {
		case "niezalogowany":
			ret += "<li><a href='Index?strona=glowna'>Glowna</a></li>" + "<li><a href='Index?strona=info'>Informacje</a></li>" + "<li><a href='Index?strona=aplikacja'>O aplikacji</a></li>";
			break;
		case "admin":
			ret += "<li><a href='Index?strona=dodaj'>Dodaj uzytkownika</a></li>" + "<li><a href='Index?strona=modyfikuj'>Modyfikuj uzytkownika</a></li>"
					+ "<li><a href='Index?strona=usun'>Usun uzytkownika</a></li>" + "<li><a href='Index?strona=skrypt'>Wgraj skrypt</a></li>"
					+ "<li><a href='Index?strona=users'>Wgraj klientow</a></li>";
			break;
		case "user":
			ret += "<li><a href='Index?strona=glowna'>Glowna</a></li>" + "<li><a href='Index?strona=userInfo'>Informacje</a></li>" + "<li><a href='Index?strona=userClients'>Klienci</a></li>";
			break;
		case "chief":
			ret += "<li><a href='Index?strona=stats'>Statystyki firmy</a></li>"
					+ "<li><a href='Index?strona=worker'>Statystyki pracownika</a></li>"
					+ "<li><a href='Index?strona=project'>Wybierz projekty do realizacji</a></li>"
					+ "<li><a href='Index?strona=new_project'>Nowy projekt</a></li>";
			break;
		}
		
		ret += "</ul>" + "</div>";
		return ret;
	}

	String logowanie() {
		return "<div id='logowanie'>" + "<form action='Index' method='post'>" + "<br /><b>Zaloguj sie!</b><br />" + "<input type='hidden' value='zal' id='zal' name='zal'></input>"
				+ "l: <input id='log' name='log' type='text' size='7'></input><br/>" + "h: <input id='pass' name='pass' type='password' size='7'></input><br/>"
				+ "<input id='zal' type='submit' value='zatwierdz'></input><br/><br />" + "</form></div></div>";
	}

	String wyloguj() {
		return "<div id='logowanie'><div id='formek'>" + "<form action='Index' method='post'>" + "<br /><input type='hidden' value='wyl' id='zal' name='zal'></input>"
				+ "<input id='wyl' type='submit' value='wyloguj'></input><br/><br />" + "</form></div></div></div>";
	}

	String newsy() {
		return "<div id='news'><script type='text/javascript' src='news.js'></script></div>";
	}

	String stopka() {
		return "</div></div><div id='stopka'>Copyright &copy; 2014 Call Center Booster</div>";
	}

	String tresc(String parametr, int success, String law, HttpSession sesja) {

		String ret = "<div id='tresc'>";
		switch (parametr) {
		case "glowna":
			ret += "<b>To jest strona glowna</b>";
			break;
		case "info":
			ret += "<h2>Tutaj beda informacje o firmie</h2>";
			break;
		case "aplikacja":
			ret += "<h2>Tutaj kiedys beda informacje o aplikacji</h2>";
			break;
			// MENU ADMINA
		case "dodaj":
			if (law.equals("admin")) {
				ret += CCAdminContent.dodajMenu(success);
			} else {
				ret += "<h2>Nie masz uprawnien by tu byc</h2>";
			}
			break;
		case "modyfikuj":
			if (law.equals("admin")) {
				ret += CCAdminContent.modyfikujMenu(step, success);
			} else {
				ret += "<h2>Nie masz uprawnien by tu byc</h2>";
			}
			break;
		case "usun":
			if (law.equals("admin")) {
				ret += CCAdminContent.usunMenu(step, success);
			} else {
				ret += "<h2>Nie masz uprawnien by tu byc</h2>";
			}
			break;
		case "users":
			if (law.equals("admin")) {
				ret += CCAdminContent.wgrajUsersMenu(success);
			} else {
				ret += "<h2>Nie masz uprawnien by tu byc</h2>";
			}
			break;
		case "skrypt":
			if(law.equals("admin")){
				ret += CCAdminContent.wgrajSkrypt(success);
			}
			else{
				ret += "<h2>Nie masz uprawnien by tu byc</h2>";
			}
			break;
			// MENU SZEFA
		case "stats":
			if(law.equals("chief")){
				ret += CCChefContent.statsMenu();
			}
			else{
				ret += "<h2>Nie masz uprawnien by tu byc</h2>";
			}
		break;
		case "worker":
			if(law.equals("chief")){
				ret += CCChefContent.workerMenu(success);
			}
			else{
				ret += "<h2>Nie masz uprawnien by tu byc</h2>";
			}
			break;
		case "project":
			if(law.equals("chief")){
				ret += CCChefContent.wybierzProjektMenu(success);
			}
			else{
				ret += "<h2>Nie masz uprawnien by tu byc</h2>";
			}
			break;
		case "new_project":
			if(law.equals("chief")){
				ret += CCChefContent.nowyProjektMenu(success);
			}
			else{
				ret += "<h2>Nie masz uprawnien by tu byc</h2>";
			}
			break;
			// MENU PRACOWNIKA
		case "userInfo":
			if (sesja.getAttribute("workerContent") != null) {
				ret += ((CCWorkerContent) sesja.getAttribute("workerContent")).getUserInfoHTML();
			}
			break;
		case "userClients":
			if (sesja.getAttribute("workerContent") != null) {
				ret += ((CCWorkerContent) sesja.getAttribute("workerContent")).getUserClientsHTML();
			}
			break;
		case "call":
			if (sesja.getAttribute("workerContent") != null) {
				ret += ((CCWorkerContent) sesja.getAttribute("workerContent")).getUserCallHTML();
			}
			break;
		default:
			ret += "<b>To jest strona glowna</b>";
			break;
		}
		return ret;
	}

	String koniecHTML() {
		return "</div></body></html>";
	}

	public static void setStep(int step_s) {
		step = step_s;
	}
}
